Web Development Template Inheritance এবং Includes ব্যবহার গাইড ও নোট

243

Web2Py-তে Template Inheritance এবং Includes হল এমন দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ডেভেলপারদের অ্যাপ্লিকেশন ডেভেলপমেন্টের সময় কোড পুনঃব্যবহারযোগ্য এবং সংগঠিত রাখতে সহায়তা করে। এই দুটি বৈশিষ্ট্য ব্যবহার করে আপনি একটি বেস টেমপ্লেট তৈরি করতে পারবেন এবং সেটি ভিউ টেমপ্লেটগুলোর মধ্যে বংশগতির মাধ্যমে পুনরায় ব্যবহার করতে পারবেন।


Template Inheritance

Template Inheritance এর মাধ্যমে আপনি একটি বেস টেমপ্লেট তৈরি করতে পারবেন, যার মধ্যে সাধারণ উপাদান (যেমন, হেডার, ফুটার, ন্যাভিগেশন বার) থাকবে এবং অন্যান্য ভিউগুলো সেই বেস টেমপ্লেটকে "এনহেরিট" করে তাদের নিজস্ব কন্টেন্ট যুক্ত করবে।

Template Inheritance এর মূল ধারণা

  1. বেস টেমপ্লেট: এটি একটি সাধারণ টেমপ্লেট যা সাধারণ উপাদান ধারণ করে।
  2. চাইল্ড টেমপ্লেট: এটি বেস টেমপ্লেটের উপাদানকে বংশগতভাবে গ্রহণ করে এবং এতে নির্দিষ্ট কন্টেন্ট যোগ করা হয়।

বেস টেমপ্লেট তৈরি (Base Template)

ধরা যাক, আপনি একটি সাধারণ ওয়েবসাইটের জন্য হেডার, ফুটার এবং ন্যাভিগেশন বার সহ একটি বেস টেমপ্লেট তৈরি করতে চান। আপনি এটি layout.html ফাইলের মাধ্যমে তৈরি করতে পারেন:

<!-- views/layout.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{=response.title}}</title>
</head>
<body>
    <header>
        <h1>My Web2Py Application</h1>
        <nav>
            <ul>
                <li><a href="{{=URL('default', 'index')}}">Home</a></li>
                <li><a href="{{=URL('default', 'about')}}">About</a></li>
            </ul>
        </nav>
    </header>

    <div id="content">
        {{include content}}
    </div>

    <footer>
        <p>© 2024 My Web2Py App</p>
    </footer>
</body>
</html>

এখানে {{include content}} হল একটি সিঙ্গেল প্লেসহোল্ডার যেখানে চাইল্ড টেমপ্লেট থেকে কন্টেন্ট যুক্ত হবে।

চাইল্ড টেমপ্লেট তৈরি (Child Template)

এখন, আপনি index.html নামে একটি চাইল্ড টেমপ্লেট তৈরি করতে পারেন যা বেস টেমপ্লেট (layout.html) থেকে কিছু কন্টেন্ট লোড করবে:

<!-- views/default/index.html -->
{{extend 'layout.html'}}
<h2>Welcome to My Website!</h2>
<p>This is the home page.</p>

এখানে, {{extend 'layout.html'}} কমান্ডটি চাইল্ড টেমপ্লেটটিকে বেস টেমপ্লেটের উপাদানকে ইনহেরিট করার নির্দেশ দেয় এবং চাইল্ড টেমপ্লেটের কন্টেন্টকে বেস টেমপ্লেটের নির্দিষ্ট জায়গায় ইনক্লুড করে।


Includes

Includes হল Web2Py-তে এমন একটি ফিচার যা আপনাকে একাধিক ছোট টেমপ্লেট ফাইলকে মূল টেমপ্লেটে অন্তর্ভুক্ত করার অনুমতি দেয়। এটি কন্টেন্ট বা লজিক ভাগ করতে এবং কোড পুনঃব্যবহারযোগ্য করতে সাহায্য করে।

Includes ব্যবহার

আপনি যদি একটি নির্দিষ্ট অংশ যেমন একটি সাইডবার বা কাস্টম হেডার বার বার ব্যবহার করতে চান, তাহলে আপনি সেই অংশের জন্য আলাদা একটি টেমপ্লেট তৈরি করতে পারেন এবং পরে সেটি মূল টেমপ্লেটে ইনক্লুড করতে পারেন।

ধরা যাক, আপনি একটি sidebar.html টেমপ্লেট তৈরি করতে চান যা প্রতিটি পৃষ্ঠায় ব্যবহার হবে:

<!-- views/default/sidebar.html -->
<aside>
    <h3>Side Bar</h3>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
    </ul>
</aside>

এখন, এই সাইডবারটি আপনার প্রধান টেমপ্লেটে ইনক্লুড করতে হবে:

<!-- views/layout.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{=response.title}}</title>
</head>
<body>
    <header>
        <h1>My Web2Py Application</h1>
        <nav>
            <ul>
                <li><a href="{{=URL('default', 'index')}}">Home</a></li>
                <li><a href="{{=URL('default', 'about')}}">About</a></li>
            </ul>
        </nav>
    </header>

    <div id="content">
        {{include content}}
    </div>

    <div id="sidebar">
        {{include 'default/sidebar.html'}}
    </div>

    <footer>
        <p>© 2024 My Web2Py App</p>
    </footer>
</body>
</html>

এখানে, {{include 'default/sidebar.html'}} টেমপ্লেটটি sidebar.html ফাইলটি layout.html-এ ইনক্লুড করছে।


Template Inheritance এবং Includes এর সুবিধা

  1. কোড পুনঃব্যবহারযোগ্যতা: টেমপ্লেট ইনহেরিটেন্স এবং ইনক্লুড ব্যবহার করে আপনি একাধিক পেজে একই কন্টেন্ট বা লজিক পুনরায় ব্যবহার করতে পারেন।
  2. কোড সংগঠন: কোডটি আরও পরিষ্কার এবং সংগঠিত হয়, কারণ আপনি একটি সাধারণ বেস টেমপ্লেট তৈরি করতে পারেন এবং তারপরে কেবল নির্দিষ্ট কন্টেন্ট যোগ করবেন।
  3. সহজ রক্ষণাবেক্ষণ: একবার টেমপ্লেটের উপাদান পরিবর্তন করলে সেটি সমস্ত পেজে প্রভাব ফেলবে (যেমন, হেডার বা ফুটার পরিবর্তন)।
  4. টেমপ্লেটের পৃথকীকরণ: ছোট টেমপ্লেট ফাইলের মাধ্যমে আপনি অ্যাপ্লিকেশনের বিভিন্ন অংশ আলাদা করে রাখতে পারবেন (যেমন, সাইডবার, হেডার, ফুটার ইত্যাদি)।

সারাংশ

Web2Py-তে Template Inheritance এবং Includes ব্যবহার করে আপনি সহজে কোড পুনঃব্যবহারযোগ্য এবং সংগঠিত রাখতে পারেন। Template Inheritance এর মাধ্যমে আপনি একটি বেস টেমপ্লেট তৈরি করে সেটি অন্যান্য ভিউ টেমপ্লেটের মধ্যে বংশগতির মাধ্যমে ব্যবহার করতে পারেন। Includes এর মাধ্যমে ছোট টেমপ্লেট ফাইলগুলোকে প্রধান টেমপ্লেটে অন্তর্ভুক্ত করে কোডের অংশ ভাগ করতে পারেন, যা অ্যাপ্লিকেশনকে আরও পরিষ্কার এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...